/*
 * @Author       : ljkt
 * @Version      : 1.0
 * @Date         : 2021-10-08 09:29:52
 * @LastEditors: ljkt
 * @LastEditTime: 2025-06-22 13:32:08
 * @Description  :
 */

#ifndef _APP_MAIN_H_
#define _APP_MAIN_H_
#define APP_MENU_TIME (10ul)
// MCU寄存器返回的按键值
#define key_lvxin1 21
#define key_lvxin2 22
#define key_lvxin3 23

// 协议通信自定义的按键值
#define key1 0x0001
#define key2 0x0002
#define key3 0x0004

extern Ram uint key_value; // DXY
// #define REF_KEY_CLR (1ul);

typedef struct
{
	unsigned char Cmd;
	unsigned long Val;
} s_dev_key;

enum
{
	e_INDEX_MENU_STANDY,
	e_INDEX_MENU_MAX,
};
typedef struct
{
	unsigned char Step;		 // 步进状态
	unsigned char StepLast;	 // 上一次步进状态
	unsigned long TimeDelay; // 延时时间
	unsigned long TimeOut;	 // 超时时间
} s_menu_child_t;
typedef struct
{
	unsigned char Step;		// 菜单状态
	unsigned char StepLast; // 上一次菜单状态
	s_menu_child_t Child;
} s_app_menu_t;
extern Ram s_app_menu_t gApp_Menu;
void App_Menu_Init(void);
void App_Menu_Scan(void);

#endif
